pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制) |
您所在的位置:网站首页 › 排序 升序 › pandas中对列进行排序(单列/多列)/(升序/降序)/(多列升序,降序控制) |
前言 我想把数据分析刻进DNA里
如下面的数据,对price,要进行最简单的升序操作: 这个好整: import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') shop.sort_values(by='price', inplace=True)结果: 如果你想整活(被迫)要把数据进行降序排列: 按照降序,传递进ascending,并将其值改为False即可: import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') # 默认是升序排序(ascending=True),ascending=Falas:降序排序 # 默认ascending为True shop.sort_values(by='price', inplace=True, ascending=True)那么你又想按照price和worthy一起进行排序的话: 你可以先试试: import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') shop.sort_values(by='worthy', inplace=True, ascending=False) shop.sort_values(by='price', inplace=True, ascending=True) print(shop)结果:
其实应该是在一行代码中对其进行操作: # 对两列同时按照升序排列 shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=True) print(shop)结果: 你想把price和worthy一个按照ascending按照True,一个按照False进行排列: 其实像上面的by=['worthy', 'price']一样,传入一个list就行了 直接上代码: # 如果要使一列ascending为True,一列为False: shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=[True, False])结果: 没错,你整活成功了 文件:F:\Project\python\src\WangYiYun\DataAnalysis\17_.py 完整代码笔记: # @DATE : 2021-1-2 # @TIME : 15:15 # @USER : kirin # 排序 import pandas as pd shop = pd.read_csv("data/shop.csv", index_col='id') # 默认是有小到大排序,ascending=Falas:由大到小排序 # 默认ascending为True # shop.sort_values(by='worthy', inplace=True, ascending=True) # shop.sort_values(by='price', inplace=True, ascending=True) # 上面的这种排序其实是对shop表排了两次序 # 应该在一列代码中对A列和B列进行排序: # shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=True) # 如果要使一列ascending为True,一列为False: shop.sort_values(by=['worthy', 'price'], inplace=True, ascending=[True, False]) print(shop) |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |